// 定义一个函数，接受一个函数作为参数
const reportWebVitals = (onPerfEntry) => {
  // 判断有传递函数类型的参数，才生效
  if (onPerfEntry && onPerfEntry instanceof Function) {
    // import() 动态导入 web-vitals 这个包
    import("web-vitals").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
      // 当获取到 CLS 相关的内容时，会把内容作为参数调用 onPerfEntry 函数
      getCLS(onPerfEntry);
      // 当获取到 FID 相关的内容时，会把内容作为参数调用 onPerfEntry 函数
      getFID(onPerfEntry);
      getFCP(onPerfEntry);
      getLCP(onPerfEntry);
      getTTFB(onPerfEntry);
    });
  }
};

// 导出该函数
export default reportWebVitals;
